Skip to main content

How to Use

🔗 https://github.com/Carina-labs/nova-simulator


written in Python

$ python simulator/<simulator_type>/run.py

For example, run python simulator/supernova/run.py to simulate All Supernova features.

simulator_types:

  • Base: base (including batch withdraw)
  • Adjustable Init Share: init_share
  • Lazy Minting: lazy_minting
  • Supernova: supernova (all features)

Supernova Features​

  • Batch withdraw: See the whitepaper for details.

  • Lazy minting: See the whitepaper for details.

  • Batch delegate: When depositing wAssets; IBC transfer first, then delegate later by bot.

  • Lazy burn: Request burn snAsset at time tt. The protocol will burn it at time t′≥t+1t' \ge t+1.

Console Mode​

$ python simulator/<simulator_type>/run.py --console

For example,

$ python simulator/base/run.py --console

> H

Cosmos Commands
[N]nextblock(Cosmos) [#_of_blocks]

Supernova Commands
[M]mint_wAsset <account> <amount>
[B]balance(wsnAsset) <account>
[S]balance(snAsset) <account>
[T]transfer <from> <to> <amount>

Supernova User Commands
[D]deposit <account> <amount>
[U]undelegate <account> <amount>
[W]withdraw <account>

Supernova Keeper&Bot Commands
[V]undelegate(Bot)
[K]withdraw(Bot)
[C]compound
[O]oracle

Simulator Commands
[1]quit
[#]comment [comment]
[--mute|-M]mute

Pipeline Mode​

$ python simulator/<simulator_type>/run.py [< <input_file>] [> <output_file>]
  • input: input file
  • output: output file
  • answer: result file

For example,

$ python simulator/base/run.py < tests/base/test_liquid_input > tests/base/test_liquid_output
$ diff tests/base/test_liquid_result tests/base/test_liquid_output